package com.lanf.generator;


import java.util.ArrayList;
import java.util.List;

/**
 * @author tanlingfei
 * @version 1.0
 * @description TODO
 * @date 2023-05-20 21:21:19
 */
public class TableVo {
    private String columeName;// 数据库字段名称
    private String attrName;//java字段属性名称
    private  String attrFirName;//java字段属性名称首字母大写
    private String typeName;// java数据类型
    private String dataType;//数据库数据类型
    private int datasize;// 字段长度
    private int digits; // 小数部分位数
    private int nullable; // 是否可为空 1代表可空 0代表不可为空
    private String remarks;
    //页面显示排序
    private int sort=0;
    /////////////以下为设置当前字段输入方式
    private String mod = "default"; //添加数据模式
    private String modTable;//需要选择或者弹窗的表对应数据库名称
    private String modModule;//需要选择或者弹窗的表对应java名称 首字母大写
    private String modModule2;//需要选择或者弹窗的表对应java名称 首字母小写
    private String modRemark; //弹窗页面标题
    private String modColKey; //需要选择或者弹窗的表需要保存的值数据库里面名称
    private String modColValue;//需要选择或者弹窗的表需要显示的值数据库里面名称
    private String modKey; //需要选择或者弹窗的表需要保存的值java 驼峰命名
    private String modValue;//需要选择或者弹窗的表需要显示的值java 驼峰命名
    private String modValueAlias;//需要选择或者弹窗的表需要显示的值java 别名 用于列表显示和查询
    private String modValueReamrk; ////需要选择或者弹窗的表需要显示的值备注
    private String where = "null"; //查询表条件 json格式
    private String whereName=""; //页面生产方法和属性名字使用，避免多个相同来源命名冲突
    private String pageDir; //前段引入模块的目录
    private String isReapted = "false"; //相同来源避免重复生成页面和引入组件

    private String isViewReapted = "false";


    private String isMul = "false"; //是否多选
    //所有需要多选的集合
    private List<TableVo> mulTableVoList = new ArrayList<>();

    private String mulTable;//多选保存对应的中建表java名称 首字母大写
    private String mulTable2;//多选保存对应的中建表java名称 首字母小写
    private String mulTableData;//多选保存对应的中建表原数据库名称
    private String mulMainColumData;//当前属性对应多选表中的数据库属性名称
    private String mulMainColum;//当前属性对应多选表中的属性名称  首字母小写
    private String mulUpperMainColum;//当前属性对应多选表中的属性名称  首字母大写
    private String mulSecColum;//当前属性对应关联表中多选表中的属性名称 首字母小写
    private String mulSecColumData;//当前属性对应关联表中多选表中的数据库属性名称
    private String mulUpperSecColum;//当前属性对应关联表中多选表中的属性名称 首字母大写写

    public TableVo() {
    }

    public TableVo(TableVo tableVo) {
        this.columeName = tableVo.getColumeName();
        this.attrName = tableVo.getAttrName();
        this.attrFirName = tableVo.getAttrFirName();
        this.typeName = tableVo.getTypeName();
        this.dataType = tableVo.getDataType();
        this.datasize = tableVo.getDatasize();
        this.digits = tableVo.getDigits();
        this.nullable = tableVo.getNullable();
        this.remarks = tableVo.getRemarks();
        this.sort = tableVo.getSort();
        this.mod = tableVo.getMod();
        this.modTable = tableVo.getModTable();
        this.modModule = tableVo.getModModule();
        this.modModule2 = tableVo.getModModule2();
        this.modRemark = tableVo.getModRemark();
        this.modColKey = tableVo.getModColKey();
        this.modColValue = tableVo.getModColValue();
        this.modKey = tableVo.getModKey();
        this.modValue = tableVo.getModValue();
        this.modValueAlias = tableVo.getModValueAlias();
        this.modValueReamrk = tableVo.getModValueReamrk();
        this.where = tableVo.getWhere();
        this.whereName = tableVo.getWhereName();
        this.pageDir = tableVo.getPageDir();
        this.isReapted = tableVo.getIsReapted();
        this.isMul = tableVo.getIsMul();
        this.mulTableVoList = tableVo.getMulTableVoList();
        this.mulTable = tableVo.getMulTable();
        this.mulTable2 = tableVo.getMulTable2();
        this.mulMainColumData = tableVo.getMulMainColumData();
        this.mulMainColum = tableVo.getMulMainColum();
        this.mulUpperMainColum = tableVo.getMulUpperMainColum();
        this.mulSecColum = tableVo.getMulSecColum();
        this.mulSecColumData = tableVo.getMulSecColumData();
        this.mulUpperSecColum = tableVo.getMulUpperSecColum();
        this.mulTableData = tableVo.getMulTableData();
        this.isViewReapted= tableVo.getIsViewReapted();
    }

    public TableVo(String columeName, String attrName, String typeName, String dataType, int datasize, int digits, int nullable, String remarks) {
        this.columeName = columeName;
        this.attrName = attrName;
        this.typeName = typeName;
        this.dataType = dataType;
        this.datasize = datasize;
        this.digits = digits;
        this.nullable = nullable;
        this.remarks = remarks;
    }

    public String getColumeName() {
        return columeName;
    }

    public String getAttrName() {
        return attrName;
    }

    public String getTypeName() {
        return typeName;
    }

    public int getDatasize() {
        return datasize;
    }

    public int getDigits() {
        return digits;
    }

    public int getNullable() {
        return nullable;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setColumeName(String columeName) {
        this.columeName = columeName;
    }

    public void setAttrName(String attrName) {
        this.attrName = attrName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public void setDatasize(int datasize) {
        this.datasize = datasize;
    }

    public void setDigits(int digits) {
        this.digits = digits;
    }

    public void setNullable(int nullable) {
        this.nullable = nullable;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }

    public String getMod() {
        return mod;
    }

    public void setMod(String mod) {
        this.mod = mod;
    }

    public String getModModule() {
        return modModule;
    }

    public void setModModule(String modModule) {
        this.modModule = modModule;
    }

    public String getModKey() {
        return modKey;
    }

    public void setModKey(String modKey) {
        this.modKey = modKey;
    }

    public String getModValue() {
        return modValue;
    }

    public void setModValue(String modValue) {
        this.modValue = modValue;
    }

    public String getModModule2() {
        return modModule2;
    }

    public void setModModule2(String modModule2) {
        this.modModule2 = modModule2;
    }

    public String getWhere() {
        return where;
    }

    public void setWhere(String where) {
        this.where = where;
    }

    public String getWhereName() {
        return whereName;
    }

    public void setWhereName(String whereName) {
        this.whereName = whereName;
    }

    public String getPageDir() {
        return pageDir;
    }

    public void setPageDir(String pageDir) {
        this.pageDir = pageDir;
    }

    public String getModRemark() {
        return modRemark;
    }

    public void setModRemark(String modRemark) {
        this.modRemark = modRemark;
    }

    public String getModTable() {
        return modTable;
    }

    public void setModTable(String modTable) {
        this.modTable = modTable;
    }

    public String getModColKey() {
        return modColKey;
    }

    public void setModColKey(String modColKey) {
        this.modColKey = modColKey;
    }

    public String getModColValue() {
        return modColValue;
    }

    public void setModColValue(String modColValue) {
        this.modColValue = modColValue;
    }

    public String getModValueReamrk() {
        return modValueReamrk;
    }

    public void setModValueReamrk(String modValueReamrk) {
        this.modValueReamrk = modValueReamrk;
    }

    public String getModValueAlias() {
        return modValueAlias;
    }

    public void setModValueAlias(String modValueAlias) {
        this.modValueAlias = modValueAlias;
    }

    public String getIsMul() {
        return isMul;
    }

    public void setIsMul(String isMul) {
        this.isMul = isMul;
    }

    public String getMulTable() {
        return mulTable;
    }

    public void setMulTable(String mulTable) {
        this.mulTable = mulTable;
    }

    public String getMulTable2() {
        return mulTable2;
    }

    public void setMulTable2(String mulTable2) {
        this.mulTable2 = mulTable2;
    }

    public String getMulMainColum() {
        return mulMainColum;
    }

    public void setMulMainColum(String mulMainColum) {
        this.mulMainColum = mulMainColum;
    }

    public String getMulSecColum() {
        return mulSecColum;
    }

    public void setMulSecColum(String mulSecColum) {
        this.mulSecColum = mulSecColum;
    }

    public String getAttrFirName() {
        return attrFirName;
    }

    public void setAttrFirName(String attrFirName) {
        this.attrFirName = attrFirName;
    }

    public String getMulUpperMainColum() {
        return mulUpperMainColum;
    }

    public void setMulUpperMainColum(String mulUpperMainColum) {
        this.mulUpperMainColum = mulUpperMainColum;
    }

    public String getMulUpperSecColum() {
        return mulUpperSecColum;
    }

    public void setMulUpperSecColum(String mulUpperSecColum) {
        this.mulUpperSecColum = mulUpperSecColum;
    }

    public List<TableVo> getMulTableVoList() {
        return mulTableVoList;
    }

    public void setMulTableVoList(List<TableVo> mulTableVoList) {
        this.mulTableVoList = mulTableVoList;
    }

    public String getMulMainColumData() {
        return mulMainColumData;
    }

    public void setMulMainColumData(String mulMainColumData) {
        this.mulMainColumData = mulMainColumData;
    }

    public String getMulSecColumData() {
        return mulSecColumData;
    }

    public void setMulSecColumData(String mulSecColumData) {
        this.mulSecColumData = mulSecColumData;
    }

    public int getSort() {
        return sort;
    }

    public void setSort(int sort) {
        this.sort = sort;
    }

    public String getIsReapted() {
        return isReapted;
    }

    public void setIsReapted(String isReapted) {
        this.isReapted = isReapted;
    }

    public String getMulTableData() {
        return mulTableData;
    }

    public void setMulTableData(String mulTableData) {
        this.mulTableData = mulTableData;
    }

    public String getIsViewReapted() {
        return isViewReapted;
    }

    public void setIsViewReapted(String isViewReapted) {
        this.isViewReapted = isViewReapted;
    }
}
